package br.odonto.entities;

import java.util.Collection;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OrderColumn;
import javax.persistence.Table;

import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;
import org.hibernate.annotations.ForeignKey;

@ManagedBean(name="cidade")
@RequestScoped
@Entity
@Table(name="cidade")
public class Cidade {
	@Id
	@GeneratedValue
	@OrderColumn
	private int id;
	@ManyToOne
	@ForeignKey(name="FK_estado")
	@Cascade(CascadeType.SAVE_UPDATE)
	private UF estado;
	@Column
	private String uf;
	@Column
	private String nome;
	@OneToMany(mappedBy="cidade_pessoa")
	@ForeignKey(name="FK_pessoa_cidade")
	@Cascade(CascadeType.SAVE_UPDATE)
	private Collection<Pessoa> pessoa;
	
	public Cidade() {
		// TODO Auto-generated constructor stub
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public UF getEstado() {
		return estado;
	}

	public void setEstado(UF estado) {
		this.estado = estado;
	}

	public Collection<Pessoa> getPessoa() {
		return pessoa;
	}

	public void setPessoa(Collection<Pessoa> pessoa) {
		this.pessoa = pessoa;
	}
	
	
}
